// 店铺模型
const { Store, validateStore } = require('../../../models/store');
// 统一数据返回类
const { DataReturn } = require('../../../common/returnclass');

/**
 * @api {Post} /stores 添加店铺
 * @apiGroup Admin-Stores
 *
 * @apiParam {String} store_name  店铺名称
 * @apiParam {String} store_intro  店铺简介
 * @apiParam {Array} store_banner  店铺宣传照
 * @apiParam {ObjectId} store_cate  店铺商品分类
 * @apiParam {ObjectId} store_belong  店铺所属用户
 * @apiParam {Array} address  店铺地址
 * @apiParam {String} phone  联系电话
 * 
 * @apiSuccess {ObjectId} _id 店铺id
 * @apiSuccess {ObjectId} store_goods  店铺商品
 * @apiSuccess {String} store_name  店铺名称
 * @apiSuccess {String} store_intro  店铺简介
 * @apiSuccess {Array} store_banner  店铺宣传照
 * @apiSuccess {ObjectId} store_cate  店铺商品分类
 * @apiSuccess {ObjectId} store_belong  店铺所属用户
 * @apiSuccess {Array} address  店铺地址
 * @apiSuccess {String} phone  联系电话
 * @apiSuccess {Array} send_address  发货地址
 * @apiSuccess {String} add_time  添加时间
 */
module.exports = async (req, res) => {
	console.log(req.fields);
	// 店铺名称 店铺简介 店铺宣传照 店铺商品分类 店铺地址 店铺联系电话
	let {
		store_name,
		store_intro,
		store_banner,
		store_cate,
		address,
		phone,
		store_belong
	} = req.fields;
	
	// 数据格式校验
	const { error } = validateStore(req.fields);
	// 格式不符合要求
	if (error) return DataReturn.getData(res,400,[],error.message);
	// 查询商品
	let stores = await Store.findOne({store_name});
	// 商品已存在
	if (stores) return DataReturn.getData(res,400,[],'该店铺已存在');
	// 创建商品对象
	stores = new Store(req.fields);
	// 保存商品信息
	stores.save()
	.then(()=>{
		DataReturn.getData(res,200,stores,'添加店铺成功')
	}).catch(()=>{
		DataReturn.getData(res,400,[],'添加店铺失败')
	})

}
